public aspect AddID {
	declare parents: Product implements IProduct;(*@\label{list:przyklad_aspectj_introduction_implement}@*)
	declare parents: Product extends ProductImpl;(*@\label{list:przyklad_aspectj_introduction_extends}@*)
	
	declare soft: IOException+: call( * InputStream.*(..) )(*@\label{list:przyklad_aspectj_introduction_exception}@*)

	private int Product.id;(*@\label{list:przyklad_aspectj_introduction_pole}@*)
	
	public void Product.setId(int id){(*@\label{list:przyklad_aspectj_introduction_metoda1}@*)
		this.id=id;
	}
	
	public int Product.getId(){(*@\label{list:przyklad_aspectj_introduction_metoda2}@*)
		return this.id;
	}
	
	public Product.new(int id){(*@\label{list:przyklad_aspectj_introduction_konstruktor}@*)
		this.id=id;
	}
	
	after(): get(Product.id){
		//instrukcje
	}
}